home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-21 | 2.1 KB | 68 lines | [TEXT/MPS ] |
- // The C++ Booch Components (Version 2.1)
- // (C) Copyright 1990-1993 Grady Booch. All Rights Reserved.
- //
- // BCSetD.h
- //
- // This file contains the declaration of the dynamic set.
-
- #ifndef BCSETD_H
- #define BCSETD_H 1
-
- #include "BCNodes.h"
- #include "BCDynami.h"
- #include "BCHashTa.h"
- #include "BCSet.h"
-
- // Dynamic set
-
- template<class Item, BC_Index Buckets, class StorageManager>
- class BC_TDynamicSet : public BC_TSet<Item> {
- public:
-
- BC_TDynamicSet();
- BC_TDynamicSet(BC_Index (*)(const Item&));
- BC_TDynamicSet(BC_Index chunkSize);
- BC_TDynamicSet(const BC_TDynamicSet<Item, Buckets, StorageManager>&);
- virtual ~BC_TDynamicSet();
-
- virtual BC_TSet<Item>& operator=(const BC_TSet<Item>&);
- virtual BC_TSet<Item>& operator=(const BC_TDynamicSet<Item, Buckets, StorageManager>&);
- virtual BC_Boolean operator==(const BC_TSet<Item>&) const;
- virtual BC_Boolean
- operator==(const BC_TDynamicSet<Item, Buckets, StorageManager>&) const;
- BC_Boolean operator!=(const BC_TDynamicSet<Item, Buckets, StorageManager>&) const;
-
- virtual void SetHashFunction(BC_Index (*)(const Item&));
- virtual void SetChunkSize(BC_Index chunkSize);
- virtual void Preallocate(BC_Index new_length);
- virtual void Clear();
- virtual BC_Boolean Add(const Item&);
- virtual BC_Boolean Remove(const Item& at);
-
- virtual BC_Index ChunkSize() const;
- virtual BC_Index Extent() const;
- virtual BC_Boolean IsEmpty() const;
- virtual BC_Boolean IsMember(const Item&) const;
-
- static void* operator new(size_t);
- static void operator delete(void*, size_t);
-
- protected:
-
- BC_TTable<Item, BC_Boolean, Buckets,
- BC_TDynamic<BC_TPair<Item, BC_Boolean>, StorageManager> > fRep;
-
- virtual void Purge();
- virtual BC_Boolean Attach(const Item&, const BC_Boolean&);
- virtual BC_Boolean Attach(const Item&);
- virtual BC_Boolean Detach(const Item&);
- virtual BC_Index Cardinality() const;
- virtual BC_Index NumberOfBuckets() const;
- virtual BC_Index Length(BC_Index bucket) const;
- virtual BC_Boolean Exists(const Item&) const;
- virtual const Item& ItemAt(BC_Index bucket, BC_Index index) const;
-
- };
-
- #endif
-